/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.generarhorario.itschapala.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.generarhorario.itschapala.dao.MateriaDao;
import mx.generarhorario.itschapala.dao.MateriaDaoLocal;
import mx.generarhorario.itschapala.enumeraciones.EstadoServicio;
import mx.generarhorario.itschapala.modelo.Materia;

/**
 *
 * @author RaygozaL
 */
@Stateless
public class materiaBl implements materiaBlLocal {
    @EJB
    private MateriaDaoLocal materiaDao;

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")

   
    @Override
    public EstadoServicio register(Materia materia) {
        if(materiaDao.findDuplicity(materia)){
            return EstadoServicio.INCOMPLETE;
    //nada
    }else{
       materiaDao.create(materia);
       return  EstadoServicio.COMPLETE;
        }
        
    }

    @Override
    public EstadoServicio modify(Materia materia) {
         if(materia.getIdMateria()==null||materiaDao.find(materia.getIdMateria())==null){
            return EstadoServicio.INCOMPLETE;
    //nada
    }else{
       materiaDao.edit(materia);
       return  EstadoServicio.COMPLETE;
        }
    }

    @Override
    public EstadoServicio delete(Materia materia) {
       if(materia.getIdMateria()==null||materiaDao.find(materia.getIdMateria())==null){
            return EstadoServicio.INCOMPLETE;
        }else{
        materiaDao.remove(materia);
        return EstadoServicio.COMPLETE;
        }
            
    }

    @Override
   public List <Materia> getAll() {
        return materiaDao.findAll();
    }
    
    
    @Override
    public Materia findById(Integer id) {
        return materiaDao.find(id);
    }

   
    
    
    
    
    
    
}
